package com.varbal.icegame.test;

import java.util.ArrayList;
import java.util.List;

/**
 ** 素数类  
 * @author xuegao007
 *
 */
public class PrimeNumber {
	/**
	 ** 获得规定长度内的素数集合
	 * @param lo
	 * @return
	 */
	static List<Long> getPrimeNumber(long lo) {
		List<Long> longs = new ArrayList<Long>();
		longs.add((long) 2);
		for(long i = 3 ; i < lo ;i+=2) {
			if(i%3==0 && i != 3) {
				continue;
			}
			if(i%5==0 && i != 5) {
				continue;
			}
			if(i%7==0 && i != 7) {
				continue;
			}
//			System.out.println("在判断"+i);
			if(isPrime1(i)) {
				longs.add(i);
			}
		}
		return longs;
	}
	
	
	/**
	 * *创建一个方法用于判断一个数是否是素数
	 * @param i
	 * @return
	 */
	public static boolean isPrime1(long num){
		if(num<2) {
			return false;
		}
		//当数字时2的时候,是素数返回true
		if(num==2){
			return true;
		}
		//当数字不是2的时候,进行进一步判断
		for(long i = 2;i<Math.sqrt(num);i++){
            if((num%i)==0){
                return false;
            }
        }
        return true;
	}
}
